﻿using System;
 using Yunzuan.Foundation.Attributes;
using Yunzuan.Foundation.Entities;

namespace CloudDiamonds.Models.DBModels
{
    [Table(TableName = "yz_contacts", PrimaryKey = "ContactsID")]
    public class ContactsInfo : BaseEntity
    {
        
        #region Private Properties
        private int? _contactsID;
        private string _realName;
        private string _tel;
        private string _skype;
        private string _qQ;
        private string _email;
        private string _otherContacts;
        private sbyte? _priority;
        private DateTime? _createTime;
        private string _comments;
        private int? _parentID;
        private int? _contactsType;

        #endregion

        #region Public Properties
        /// <summary>
        /// ContactsID.
        /// </summary>
        [Column(IsAutoIncrement = true)]
        public int? ContactsID
        {
            get
            {
                return _contactsID;
            }
            set
            {
                this.ChangeNotify<int?>("ContactsID", value, ref _contactsID);
            }
        }

        /// <summary>
        /// RealName.
        /// </summary>
        public string RealName
        {
            get
            {
                return _realName;
            }
            set
            {
                this.ChangeNotify<string>("RealName", value, ref _realName);
            }
        }

        /// <summary>
        /// Tel.
        /// </summary>
        public string Tel
        {
            get
            {
                return _tel;
            }
            set
            {
                this.ChangeNotify<string>("Tel", value, ref _tel);
            }
        }

        /// <summary>
        /// Skype.
        /// </summary>
        public string Skype
        {
            get
            {
                return _skype;
            }
            set
            {
                this.ChangeNotify<string>("Skype", value, ref _skype);
            }
        }

        /// <summary>
        /// QQ.
        /// </summary>
        public string QQ
        {
            get
            {
                return _qQ;
            }
            set
            {
                this.ChangeNotify<string>("QQ", value, ref _qQ);
            }
        }

        /// <summary>
        /// Email.
        /// </summary>
        public string Email
        {
            get
            {
                return _email;
            }
            set
            {
                this.ChangeNotify<string>("Email", value, ref _email);
            }
        }

        /// <summary>
        /// OtherContacts.
        /// </summary>
        public string OtherContacts
        {
            get
            {
                return _otherContacts;
            }
            set
            {
                this.ChangeNotify<string>("OtherContacts", value, ref _otherContacts);
            }
        }

        /// <summary>
        /// Priority.
        /// </summary>
        public sbyte? Priority
        {
            get
            {
                return _priority;
            }
            set
            {
                this.ChangeNotify<sbyte?>("Priority", value, ref _priority);
            }
        }

        /// <summary>
        /// CreateTime.
        /// </summary>
        public DateTime? CreateTime
        {
            get
            {
                return _createTime;
            }
            set
            {
                this.ChangeNotify<DateTime?>("CreateTime", value, ref _createTime);
            }
        }

        /// <summary>
        /// Comments.
        /// </summary>
        public string Comments
        {
            get
            {
                return _comments;
            }
            set
            {
                this.ChangeNotify<string>("Comments", value, ref _comments);
            }
        }

        /// <summary>
        /// ParentID.
        /// </summary>
        public int? ParentID
        {
            get
            {
                return _parentID;
            }
            set
            {
                this.ChangeNotify<int?>("ParentID", value, ref _parentID);
            }
        }

        /// <summary>
        /// ContactsType.
        /// </summary>
        public int? ContactsType
        {
            get
            {
                return _contactsType;
            }
            set
            {
                this.ChangeNotify<int?>("ContactsType", value, ref _contactsType);
            }
        }


        #endregion
    }
}